package cn.heyige.backend.algorithm;

import java.util.HashMap;
import java.util.Map;

public class DataConstant {

    // 八卦映射
    public static final Map<Integer, String> BAGUA_MAP = new HashMap<>();
    // 六十四卦名称映射
    public static final Map<String, String> GUAXIANG_NAME = new HashMap<>();
    // 八卦五行属性
    public static final Map<String, String> BAGUA_WUXING = new HashMap<>();
    // 五行生克关系
    public static final Map<String, String> WUXING_SHENG = new HashMap<>();
    public static final Map<String, String> WUXING_KE = new HashMap<>();
    // 心情扰动系数映射表（1-5评分系统）
    public static final Map<Integer, Double> MOOD_DISTURBANCE = new HashMap<>();
    // 城市五行
    public static final Map<String,String> CITY_FIVE_ELEMENTS = new HashMap<>();

    static {
        // 初始化八卦映射
        BAGUA_MAP.put(1, "乾");
        BAGUA_MAP.put(2, "兑");
        BAGUA_MAP.put(3, "离");
        BAGUA_MAP.put(4, "震");
        BAGUA_MAP.put(5, "巽");
        BAGUA_MAP.put(6, "坎");
        BAGUA_MAP.put(7, "艮");
        BAGUA_MAP.put(8, "坤");

        // 初始化八卦五行属性
        BAGUA_WUXING.put("乾", "金");
        BAGUA_WUXING.put("兑", "金");
        BAGUA_WUXING.put("离", "火");
        BAGUA_WUXING.put("震", "木");
        BAGUA_WUXING.put("巽", "木");
        BAGUA_WUXING.put("坎", "水");
        BAGUA_WUXING.put("艮", "土");
        BAGUA_WUXING.put("坤", "土");

        // 初始化五行生克关系
        WUXING_SHENG.put("木", "火");
        WUXING_SHENG.put("火", "土");
        WUXING_SHENG.put("土", "金");
        WUXING_SHENG.put("金", "水");
        WUXING_SHENG.put("水", "木");

        WUXING_KE.put("木", "土");
        WUXING_KE.put("土", "水");
        WUXING_KE.put("水", "火");
        WUXING_KE.put("火", "金");
        WUXING_KE.put("金", "木");

        // 初始化六十四卦名称映射（完整64卦）
        GUAXIANG_NAME.put("乾乾", "乾为天");
        GUAXIANG_NAME.put("坤坤", "坤为地");
        GUAXIANG_NAME.put("坎震", "水雷屯");
        GUAXIANG_NAME.put("艮坎", "山水蒙");
        GUAXIANG_NAME.put("坎乾", "水天需");
        GUAXIANG_NAME.put("乾坎", "天水讼");
        GUAXIANG_NAME.put("坤坎", "地水师");
        GUAXIANG_NAME.put("坎坤", "水地比");
        GUAXIANG_NAME.put("巽乾", "风天小畜");
        GUAXIANG_NAME.put("乾兑", "天泽履");
        GUAXIANG_NAME.put("坤乾", "地天泰");
        GUAXIANG_NAME.put("乾坤", "天地否");
        GUAXIANG_NAME.put("乾离", "天火同人");
        GUAXIANG_NAME.put("离乾", "火天大有");
        GUAXIANG_NAME.put("坤艮", "地山谦");
        GUAXIANG_NAME.put("震坤", "雷地豫");
        GUAXIANG_NAME.put("兑震", "泽雷随");
        GUAXIANG_NAME.put("艮巽", "山风蛊");
        GUAXIANG_NAME.put("坤兑", "地泽临");
        GUAXIANG_NAME.put("巽坤", "风地观");
        GUAXIANG_NAME.put("离震", "火雷噬嗑");
        GUAXIANG_NAME.put("艮离", "山火贲");
        GUAXIANG_NAME.put("艮坤", "山地剥");
        GUAXIANG_NAME.put("坤震", "地雷复");
        GUAXIANG_NAME.put("乾震", "天雷无妄");
        GUAXIANG_NAME.put("艮乾", "山天大畜");
        GUAXIANG_NAME.put("艮震", "山雷颐");
        GUAXIANG_NAME.put("兑巽", "泽风大过");
        GUAXIANG_NAME.put("坎坎", "坎为水");
        GUAXIANG_NAME.put("离离", "离为火");
        GUAXIANG_NAME.put("兑艮", "泽山咸");
        GUAXIANG_NAME.put("震巽", "雷风恒");
        GUAXIANG_NAME.put("乾艮", "天山遁");
        GUAXIANG_NAME.put("震乾", "雷天大壮");
        GUAXIANG_NAME.put("离坤", "火地晋");
        GUAXIANG_NAME.put("坤离", "地火明夷");
        GUAXIANG_NAME.put("巽离", "风火家人");
        GUAXIANG_NAME.put("离兑", "火泽睽");
        GUAXIANG_NAME.put("坎艮", "水山蹇");
        GUAXIANG_NAME.put("震坎", "雷水解");
        GUAXIANG_NAME.put("艮兑", "山泽损");
        GUAXIANG_NAME.put("巽震", "风雷益");
        GUAXIANG_NAME.put("兑乾", "泽天夬");
        GUAXIANG_NAME.put("乾巽", "天风姤");
        GUAXIANG_NAME.put("兑坤", "泽地萃");
        GUAXIANG_NAME.put("坤巽", "地风升");
        GUAXIANG_NAME.put("兑坎", "泽水困");
        GUAXIANG_NAME.put("坎巽", "水风井");
        GUAXIANG_NAME.put("兑离", "泽火革");
        GUAXIANG_NAME.put("离巽", "火风鼎");
        GUAXIANG_NAME.put("震震", "震为雷");
        GUAXIANG_NAME.put("艮艮", "艮为山");
        GUAXIANG_NAME.put("巽艮", "风山渐");
        GUAXIANG_NAME.put("震兑", "雷泽归妹");
        GUAXIANG_NAME.put("震离", "雷火丰");
        GUAXIANG_NAME.put("离艮", "火山旅");
        GUAXIANG_NAME.put("巽巽", "巽为风");
        GUAXIANG_NAME.put("兑兑", "兑为泽");
        GUAXIANG_NAME.put("巽坎", "风水涣");
        GUAXIANG_NAME.put("坎兑", "水泽节");
        GUAXIANG_NAME.put("巽兑", "风泽中孚");
        GUAXIANG_NAME.put("震艮", "雷山小过");
        GUAXIANG_NAME.put("坎离", "水火既济");
        GUAXIANG_NAME.put("离坎", "火水未济");

        // 最差：强烈负向扰动
        MOOD_DISTURBANCE.put(1, -0.8);
        // 较差：中等负向扰动
        MOOD_DISTURBANCE.put(2, -0.4);
        // 平静：无扰动（默认值）
        MOOD_DISTURBANCE.put(3, 0.0);
        // 较好：中等正向扰动
        MOOD_DISTURBANCE.put(4, 0.4);
        // 最好：强烈正向扰动
        MOOD_DISTURBANCE.put(5, 0.8);

        CITY_FIVE_ELEMENTS.put("北京", "土");
        CITY_FIVE_ELEMENTS.put("上海", "水");
        CITY_FIVE_ELEMENTS.put("广州", "火");
        CITY_FIVE_ELEMENTS.put("深圳", "火");
        CITY_FIVE_ELEMENTS.put("重庆", "火");
        CITY_FIVE_ELEMENTS.put("成都", "土");
        CITY_FIVE_ELEMENTS.put("杭州", "木");
        CITY_FIVE_ELEMENTS.put("武汉", "火");
        CITY_FIVE_ELEMENTS.put("西安", "土");
        CITY_FIVE_ELEMENTS.put("天津", "水");
        CITY_FIVE_ELEMENTS.put("南京", "木");
        CITY_FIVE_ELEMENTS.put("沈阳", "水");
        CITY_FIVE_ELEMENTS.put("大连", "水");
        CITY_FIVE_ELEMENTS.put("青岛", "水");
        CITY_FIVE_ELEMENTS.put("厦门", "水");
        CITY_FIVE_ELEMENTS.put("苏州", "木");
        CITY_FIVE_ELEMENTS.put("济南", "土");
        CITY_FIVE_ELEMENTS.put("长沙", "火");
        CITY_FIVE_ELEMENTS.put("郑州", "土");
        CITY_FIVE_ELEMENTS.put("合肥", "木");
        CITY_FIVE_ELEMENTS.put("昆明", "木");
        CITY_FIVE_ELEMENTS.put("哈尔滨", "水");
        CITY_FIVE_ELEMENTS.put("长春", "水");
        CITY_FIVE_ELEMENTS.put("南昌", "火");
        CITY_FIVE_ELEMENTS.put("太原", "土");
        CITY_FIVE_ELEMENTS.put("福州", "木");
        CITY_FIVE_ELEMENTS.put("南宁", "火");
        CITY_FIVE_ELEMENTS.put("海口", "火");
        CITY_FIVE_ELEMENTS.put("贵阳", "土");
        CITY_FIVE_ELEMENTS.put("兰州", "金");
        CITY_FIVE_ELEMENTS.put("西宁", "金");
        CITY_FIVE_ELEMENTS.put("银川", "金");
        CITY_FIVE_ELEMENTS.put("乌鲁木齐", "金");
        CITY_FIVE_ELEMENTS.put("呼和浩特", "土");
        CITY_FIVE_ELEMENTS.put("石家庄", "土");
        CITY_FIVE_ELEMENTS.put("保定", "土");
        CITY_FIVE_ELEMENTS.put("唐山", "土");
        CITY_FIVE_ELEMENTS.put("温州", "木");
        CITY_FIVE_ELEMENTS.put("东莞", "火");
        CITY_FIVE_ELEMENTS.put("佛山", "火");
        CITY_FIVE_ELEMENTS.put("珠海", "火");
        CITY_FIVE_ELEMENTS.put("中山", "火");
        CITY_FIVE_ELEMENTS.put("汕头", "火");
        CITY_FIVE_ELEMENTS.put("烟台", "水");
        CITY_FIVE_ELEMENTS.put("潍坊", "土");
        CITY_FIVE_ELEMENTS.put("济宁", "土");
        CITY_FIVE_ELEMENTS.put("徐州", "土");
        CITY_FIVE_ELEMENTS.put("洛阳", "土");
        CITY_FIVE_ELEMENTS.put("绵阳", "木");
        CITY_FIVE_ELEMENTS.put("芜湖", "木");
        CITY_FIVE_ELEMENTS.put("嘉兴", "木");
        CITY_FIVE_ELEMENTS.put("绍兴", "木");
        CITY_FIVE_ELEMENTS.put("湖州", "木");
        CITY_FIVE_ELEMENTS.put("金华", "木");
        CITY_FIVE_ELEMENTS.put("衢州", "木");
        CITY_FIVE_ELEMENTS.put("舟山", "水");
        CITY_FIVE_ELEMENTS.put("台州", "木");
    }
}
